
# makefile 通配符

#
# *	匹配0个或者是任意个字符
# ?	匹配任意一个字符
# []	我们可以指定匹配的字符放在 "[]" 中
# %   也是匹配任意个字符,代表相同名称的字符串




# 变量的定义
OBJS=main.o tool1.o tool2.o
CC=gcc

# CFLAGS 是makefile内置的变量
CFLAGS+=-c -Wall -g

#$@：目标的名字
#$^：构造所需文件列表所有所有文件的名字
#$<：构造所需文件列表的第一个文件的名字
#$?：构造所需文件列表中更新过的文件

mytool:$(OBJS)
	$(CC) $^ -o $@

# "%.o" 把我们需要的所有的 ".o" 文件组合成为一个列表，从列表中挨个取出的每一个文件，"%" 表示取出来文件的文件名（不包含后缀），然后找到文件中和 "%"名称相同的 ".c" 文件，然后执行下面的命令，直到列表中的文件全部被取出来为止。
%.o:%.c
	$(CC) $^ $(CFLAGS) -o $@




# RM 默认是 rm -f
clean:
	$(RM) *.o mytool -r















